package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 规划设计业务对象 sys_plan
 *
 * @author ruoyi
 * @date 2022-03-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("规划设计业务对象")
public class SysPlanBo extends BaseEntity {

    /**
     * 规划ID
     */
    @ApiModelProperty(value = "规划ID", required = true)
    @NotNull(message = "规划ID不能为空", groups = { EditGroup.class })
    private Long planId;

    /**
     * 规划名称
     */
    @ApiModelProperty(value = "规划名称", required = true)
    @NotBlank(message = "规划名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String planName;

    /**
     * 规划类别（0新建 1续建 2未知）
     */
    @ApiModelProperty(value = "规划类别（0新建 1续建 2未知）", required = true)
    @NotBlank(message = "规划类别（0新建 1续建 2未知）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String planType;

    /**
     * 规划性质
     */
    @ApiModelProperty(value = "规划性质", required = true)
    @NotBlank(message = "规划性质不能为空", groups = { AddGroup.class, EditGroup.class })
    private String planNature;

    /**
     * 规划项目
     */
    @ApiModelProperty(value = "规划项目", required = true)
    @NotBlank(message = "规划项目不能为空", groups = { AddGroup.class, EditGroup.class })
    private String planManage;

    /**
     * 规划序号
     */
    @ApiModelProperty(value = "规划序号", required = true)
    @NotBlank(message = "规划序号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String planNumber;

    /**
     * 规划年限
     */
    @ApiModelProperty(value = "规划年限", required = true)
    @NotBlank(message = "规划年限不能为空", groups = { AddGroup.class, EditGroup.class })
    private String planYear;

    /**
     * 规划状态（0进行中 1 已完成）
     */
    @ApiModelProperty(value = "规划状态（0进行中 1 已完成）", required = true)
    @NotBlank(message = "规划状态（0进行中 1 已完成）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", required = true)
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;


}
